home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’94 / [√] May be freely distributed / Tom Lippincott / LaunchTrick / install.cp < prev    next >
Text File  |  1994-06-25  |  623b  |  31 lines

  1. #include <osutils.h>
  2. #include <traps.h>
  3. #include <files.h>
  4. #include <resources.h>
  5. #include <memory.h>
  6.  
  7. void main()
  8.   {
  9.     long oldTrap = GetOSTrapAddress( _HFSDispatch );
  10.     
  11.     Handle resource = GetResource( 'Trik', 128 );
  12.     if ( resource == 0 )
  13.         return;
  14.  
  15.     *(long *)(*resource + 0x30) = oldTrap;
  16.     *(long *)(*resource + 0x4A) = oldTrap;
  17.     *(long *)(*resource + 0x6A) = oldTrap;
  18.     
  19.     unsigned long size = GetHandleSize( resource );
  20.     
  21.     Ptr patch = NewPtrSys( size );
  22.     if ( patch == 0 )
  23.         return;
  24.  
  25.     BlockMove( *resource, patch, size );
  26.     FlushDataCache();
  27.     FlushInstructionCache();
  28.     
  29.     SetOSTrapAddress( long(patch), _HFSDispatch );
  30.   }
  31.